<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        /* .box1, .box2{width:100px;height:100px;background: red;}
        .box2{background: yellow;} */

        /* .public, .box1, .box2{background: red;}
        .box1{width:100px;height:100px;}
        .box2{width:200px;height:200px;} */
    </style>
</head>
<body>
    
</body>
<script>
    
    // function Parent(m){
    //     this.msg = m;
    //     this.show = function(){
    //         console.log(this.msg)
    //     }
    // }
    // Parent.prototype.init = function(){
    //     console.log("init")
    // }

    // function Child(m){
    //     Parent.call(this, m);
    //     // Parent.apply(this, [m]);
    //     // Parent.bind(this, m)();
    // }

    // const p = new Parent("hello");
    // console.log(p);
    // p.show();
    // p.init();

    // const c = new Child("world");
    // console.log(c);
    // c.show();
    // c.init();

    // new关键字，做了什么
    // 1. 创建一个新对象
    // 2. 将函数中的this指向该对象
    // 3. 将对象的__proto__指向函数的prototype
    // 4. 检测原函数是否主动返回对象，如果没有，返回这个新对象


    // =========

    // 多继承


    // 造个手机：屏幕，摄像头，芯片

    function 屏幕(){
        this.a = "曲面屏"
        this.name = "qqq"
    }
    function 摄像头(){
        this.b = "4K"
        this.name = "www"
    }
    function 芯片(){
        this.c = "12核"
        this.name = "eee"
    }

    function Phone(){
        // 一堆继承
        // 继承屏幕
        屏幕.call(this);
        // 继承芯片
        芯片.call(this);
        // 继承摄像头
        摄像头.call(this);
    }

    const p = new Phone();
    console.log(p);



</script>
</html>